ohibc logo
OHI British Columbia | OHI Science | Citation policy

1 Summary: OHIBC Species Subgoal (Biodiversity)

This script prepares scores (status and trend) for species richness in British Columbia’s coastal regions. Spatial data from IUCN and Aquamaps is combined with extinction risk information from IUCN and conservation rank info based on province-level NatureServe categories.

Currently, the Species Richness sub-goal model is identical to the OHI Global model: a region’s status is based upon an area-weighted average of species health across each BC reporting region.

From Halpern et al (2012):

The target for the Species sub-goal is to have all species at a risk status of Least Concern. We scaled the lower end of the biodiversity goal to be 0 when 75% species are extinct, a level comparable to the five documented mass extinctions and would constitute a catastrophic loss of biodiversity. The Status of assessed species was calculated as the area- and threat status-weighted average of the number of threatened species within each 0.5 degree grid cell.

Mean risk status per cell:

\[\bar{R}_{cell} = \frac{\displaystyle\sum_{species}(Risk)}{n_{spp}}\]

Mean risk status per region:

\[\bar{R}_{SPP} = \frac{\displaystyle\sum_{cells}(\bar{R}_{cell} * A_{cell} * pA_{cell-rgn})}{A_{rgn}}\]

Species goal model

\[X_{SPP} = \frac{((1 - \bar{R}_{SPP}) - 0.25)}{(1 - 0.25)} * 100%\]

where:


2 Data sources

AquaMaps

IUCN Red List spatial data: species range map shapefiles

IUCN Red List species index: list of all IUCN red list species, incl IUCN species ID and extinction risk category

NatureServe/BC CDC conservation rank info from BC Species and Ecosystems Explorer:

NOTE: Davies and Baum (2012) could potentially provide a small number of additional species, as in the California Current OHI, but for now we are not considering this in our assessment.


3 Methods

3.1 Load species lookup table from global SPP goal

Currently this uses the global species lookup table. How this list is generated (file locations are in ~/github/ohiprep/globalprep/SPP_ICO):

  • in ingest_iucn.R:
    • Pull full IUCN list from http://api.iucnredlist.org/index/all.csv
    • Filter the list to marine species as indicated on each species page
    • Standardize old extinction risk categories
    • Append population trend and parent/subpop info from species web pages
    • Write to spp_iucn_mar.csv in git-annex.
  • in spp_fxn.R::create_spp_master_lookup():
    • Pull in Aquamaps species information table, create sciname field and standardize categories
    • Pull in IUCN marine species info from ingest_iucn.R
    • full_join() the two species lists
    • Determine overall category, trend, and spatial info source (preferring IUCN)
    • Remove duplicate records and data-deficient records
    • Convert text extinction risk category and popn trends to number values
    • Identify parent/subpopulations and aliases within spatial_source field.

Variables in spp_all: am_sid | am_cat | sciname | iucn_sid | pop_trend | pop_cat | spp_group | id_no | iucn_subpop | spatial_source | cat_score | trend_score

Quick glance at global spp_all dataframe:
sciname am_sid iucn_sid pop_trend pop_cat spatial_source
Apolemichthys trimaculatus Fis-26169 165835 Stable LC iucn
Apolemichthys xanthotis Fis-28014 165853 Stable LC iucn
Apolemichthys xanthurus Fis-28015 165844 Unknown LC iucn
Centropyge acanthops Fis-27342 155083 Stable LC iucn
Centropyge argi Fis-22168 165837 Unknown LC iucn
Centropyge aurantonotus Fis-34233 165865 Stable LC iucn

3.2 Append BC-specific species risk assessment codes

Data downloaded from BC Species and Ecosystems Explorer includes information on global status and provincial status for species, as assessed by NatureServe.

See this table for info on NatureServe codes

spp_all <- spp_append_bcsee(spp_all)

spp_all <- spp_all %>%
  mutate(iucn_score = cat_score,
         cat_score = ifelse(!is.na(status_pr_score), status_pr_score, cat_score)) %>%
  filter(!is.na(cat_score))

### NOTE: if we want to exclude BLI data, this is where we would have to do it
# spp_all1 <- spp_all %>%
#   mutate(spatial_source = ifelse(spatial_source == 'iucn-bli' & !is.na(am_sid), 'am', spatial_source)) %>%
#   filter(!spatial_source == 'iucn-bli')

write_csv(spp_all, file.path(dir_goal, 'int/spp_all.csv'))



# DT::datatable(spp_all %>% 
#                 dplyr::select(sciname, am_sid, iucn_sid, pop_trend, 
#                        IUCN_cat = pop_cat, NS_cat = status_pr, spatial_source) ,
#               rownames = FALSE,
#               caption = 'BC-specific species list:',
#               class = 'stripe hover compact',
#               options  = list(dom = 'tp'))

3.3 Define assessment regions

Using OHIBC region polygons, determine 0.5° raster cells corresponding to each region.

## Reading OHIBC regions shapefile...
##   ~/github/ohibc/prep/spatial/ohibc_rgn_wgs84.shp

3.3.1 Map of region ID per cell

Note that subs() can’t deal with duplicate cell IDs; for cells included in two or more regions, displaying the minimum region ID value


3.4 Generate species per cell tables for Aquamaps and IUCN

These species-per-cell tables are generated from global SPP goal data, from AquaMaps data and IUCN range maps, filtered to just OHIBC regions.

3.4.1 Map of species count by cell


4 Calculate goal model

4.1 Summarize mean category & trend per cell & region

In this section we perform the model calculations:

  • We calculate mean extinction risk score across all species identified in each cell, based on NatureServe province-level rankings where available, and IUCN category ranks elsewhere.
    • IUCN ranks exclude subpopulation scores due to lack of spatially explicit distribution info for subpopulations.
  • We calculate mean population trend across all species identified in each cell, based on IUCN population trend information.
  • From raster-level summaries, we generate a region-level summary based on area-weighted average extinction risk and population trend.
  • From the region-level summary of risk, we determine the SPP goal status based on the goal model equation. SPP trend is identical to the regional average population trend score.

4.1.1 Map of mean extinction risk category value by cell

Category value range: least concern = 0, extinct = 1


4.2 Create and save final output files

Status and trend layers saved to data folder.

## Writing SPP status and trend based only on IUCN categories to:
##   ~/github/ohibc/prep/spp_ico/v2016/output/spp_status.csv
##   ~/github/ohibc/prep/spp_ico/v2016/output/spp_trend.csv

4.2.1 Plot map of status by region

The maps and tables show status based upon rankings from NatureServe (where available) and IUCN (where NatureServe is not available). Currently no trend information is taken from NatureServe, so trend is based entirely on IUCN rankings.


4.3 Summarize mean category/trend within 3 nm of shore

Create final outputs for 3nm zone for resilience calculations. In this step, rather than using full assessment regions, only the three-nautical-mile offshore zone is examined.

## Reading OHIBC 3nm offshore regions shapefile...
##   ~/github/ohibc/prep/spatial/ohibc_offshore_3nm_wgs84.shp
## Writing SPP status and trend for 3nm regions to:
##   ~/github/ohibc/prep/spp_ico/v2016/output/spp_status_3nm.csv
##   ~/github/ohibc/prep/spp_ico/v2016/output/spp_trend_3nm.csv

5 Provenance